package com.ruoyi.system.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.GoodsMapper;
import com.ruoyi.system.domain.Goods;
import com.ruoyi.system.domain.Warehouse;
import com.ruoyi.system.service.IGoodsService;

/**
 * 【请填写功能名称】Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-12-04
 */
@Service
public class GoodsServiceImpl implements IGoodsService 
{
    @Autowired
    private GoodsMapper goodsMapper;

    /**
     * 查询【请填写功能名称】
     * 
     * @param goodsNum 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public Goods selectGoodsByGoodsNum(Long goodsNum)
    {
        return goodsMapper.selectGoodsByGoodsNum(goodsNum);
    }

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param goods 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<Goods> selectGoodsList(Goods goods)
    {
        return goodsMapper.selectGoodsList(goods);
    }

    /**
     * 新增【请填写功能名称】
     * 
     * @param goods 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertGoods(Goods goods)
    {
        return goodsMapper.insertGoods(goods);
    }

    /**
     * 修改【请填写功能名称】
     * 
     * @param goods 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateGoods(Goods goods)
    {
        return goodsMapper.updateGoods(goods);
    }

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param goodsNums 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteGoodsByGoodsNums(Long[] goodsNums)
    {
        return goodsMapper.deleteGoodsByGoodsNums(goodsNums);
    }

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param goodsNum 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteGoodsByGoodsNum(Long goodsNum)
    {
        return goodsMapper.deleteGoodsByGoodsNum(goodsNum);
    }

        /**
     * 根据仓库编号查询商品列表
     *
     * @param warehouseId 仓库编号
     * @return 商品集合
     */
    @Override
    public List<Goods> selectGoodsByWarehouseId(Long warehouseId) {
        return goodsMapper.selectGoodsByWarehouseId(warehouseId);
    }

    /**
     * 查询所有仓库信息
     *
     * @return 仓库集合
     */
    @Override
    public List<Warehouse> selectAllWarehouses() {
        return goodsMapper.selectAllWarehouses();
    }

    /**
     * 根据仓库编号查询仓库信息
     *
     * @param warehouseId 仓库编号
     * @return 仓库对象
     */
    @Override
    public Warehouse selectWarehouseById(Long warehouseId) {
        return goodsMapper.selectWarehouseById(warehouseId);
    }
}
